package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_daily_basic")
public class FDailyBasic {
    @Id
    private Long tid;

    /**
     * TS股票代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 交易日期
     */
    @Column(name = "trade_date")
    private String tradeDate;

    /**
     * 当日收盘价
     */
    private Float close;

    /**
     * 换手率（%）
     */
    @Column(name = "turnover_rate")
    private Float turnoverRate;

    /**
     * 换手率（自由流通股）
     */
    @Column(name = "turnover_rate_f")
    private Float turnoverRateF;

    /**
     * 量比
     */
    @Column(name = "volume_ratio")
    private Float volumeRatio;

    /**
     * 市盈率（总市值/净利润， 亏损的PE为空）
     */
    private Float pe;

    /**
     * 市盈率（TTM，亏损的PE为空）
     */
    @Column(name = "pe_ttm")
    private Float peTtm;

    /**
     * 市净率（总市值/净资产）
     */
    private Float pb;

    /**
     * 市销率
     */
    private Float ps;

    /**
     * 市销率（TTM）
     */
    @Column(name = "ps_ttm")
    private Float psTtm;

    /**
     * 股息率 （%）
     */
    @Column(name = "dv_ratio")
    private Float dvRatio;

    /**
     * 股息率（TTM）（%）
     */
    @Column(name = "dv_ttm")
    private Float dvTtm;

    /**
     * 总股本 （万股）
     */
    @Column(name = "total_share")
    private Float totalShare;

    /**
     * 流通股本 （万股）
     */
    @Column(name = "float_share")
    private Float floatShare;

    /**
     * 自由流通股本 （万）
     */
    @Column(name = "free_share")
    private Float freeShare;

    /**
     * 总市值 （万元）
     */
    @Column(name = "total_mv")
    private Float totalMv;

    /**
     * 流通市值（万元）
     */
    @Column(name = "circ_mv")
    private Float circMv;

    public FDailyBasic(Long tid, String tsCode, String tradeDate, Float close, Float turnoverRate, Float turnoverRateF, Float volumeRatio, Float pe, Float peTtm, Float pb, Float ps, Float psTtm, Float dvRatio, Float dvTtm, Float totalShare, Float floatShare, Float freeShare, Float totalMv, Float circMv) {
        this.tid = tid;
        this.tsCode = tsCode;
        this.tradeDate = tradeDate;
        this.close = close;
        this.turnoverRate = turnoverRate;
        this.turnoverRateF = turnoverRateF;
        this.volumeRatio = volumeRatio;
        this.pe = pe;
        this.peTtm = peTtm;
        this.pb = pb;
        this.ps = ps;
        this.psTtm = psTtm;
        this.dvRatio = dvRatio;
        this.dvTtm = dvTtm;
        this.totalShare = totalShare;
        this.floatShare = floatShare;
        this.freeShare = freeShare;
        this.totalMv = totalMv;
        this.circMv = circMv;
    }

    public FDailyBasic() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取TS股票代码
     *
     * @return ts_code - TS股票代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置TS股票代码
     *
     * @param tsCode TS股票代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取交易日期
     *
     * @return trade_date - 交易日期
     */
    public String getTradeDate() {
        return tradeDate;
    }

    /**
     * 设置交易日期
     *
     * @param tradeDate 交易日期
     */
    public void setTradeDate(String tradeDate) {
        this.tradeDate = tradeDate;
    }

    /**
     * 获取当日收盘价
     *
     * @return close - 当日收盘价
     */
    public Float getClose() {
        return close;
    }

    /**
     * 设置当日收盘价
     *
     * @param close 当日收盘价
     */
    public void setClose(Float close) {
        this.close = close;
    }

    /**
     * 获取换手率（%）
     *
     * @return turnover_rate - 换手率（%）
     */
    public Float getTurnoverRate() {
        return turnoverRate;
    }

    /**
     * 设置换手率（%）
     *
     * @param turnoverRate 换手率（%）
     */
    public void setTurnoverRate(Float turnoverRate) {
        this.turnoverRate = turnoverRate;
    }

    /**
     * 获取换手率（自由流通股）
     *
     * @return turnover_rate_f - 换手率（自由流通股）
     */
    public Float getTurnoverRateF() {
        return turnoverRateF;
    }

    /**
     * 设置换手率（自由流通股）
     *
     * @param turnoverRateF 换手率（自由流通股）
     */
    public void setTurnoverRateF(Float turnoverRateF) {
        this.turnoverRateF = turnoverRateF;
    }

    /**
     * 获取量比
     *
     * @return volume_ratio - 量比
     */
    public Float getVolumeRatio() {
        return volumeRatio;
    }

    /**
     * 设置量比
     *
     * @param volumeRatio 量比
     */
    public void setVolumeRatio(Float volumeRatio) {
        this.volumeRatio = volumeRatio;
    }

    /**
     * 获取市盈率（总市值/净利润， 亏损的PE为空）
     *
     * @return pe - 市盈率（总市值/净利润， 亏损的PE为空）
     */
    public Float getPe() {
        return pe;
    }

    /**
     * 设置市盈率（总市值/净利润， 亏损的PE为空）
     *
     * @param pe 市盈率（总市值/净利润， 亏损的PE为空）
     */
    public void setPe(Float pe) {
        this.pe = pe;
    }

    /**
     * 获取市盈率（TTM，亏损的PE为空）
     *
     * @return pe_ttm - 市盈率（TTM，亏损的PE为空）
     */
    public Float getPeTtm() {
        return peTtm;
    }

    /**
     * 设置市盈率（TTM，亏损的PE为空）
     *
     * @param peTtm 市盈率（TTM，亏损的PE为空）
     */
    public void setPeTtm(Float peTtm) {
        this.peTtm = peTtm;
    }

    /**
     * 获取市净率（总市值/净资产）
     *
     * @return pb - 市净率（总市值/净资产）
     */
    public Float getPb() {
        return pb;
    }

    /**
     * 设置市净率（总市值/净资产）
     *
     * @param pb 市净率（总市值/净资产）
     */
    public void setPb(Float pb) {
        this.pb = pb;
    }

    /**
     * 获取市销率
     *
     * @return ps - 市销率
     */
    public Float getPs() {
        return ps;
    }

    /**
     * 设置市销率
     *
     * @param ps 市销率
     */
    public void setPs(Float ps) {
        this.ps = ps;
    }

    /**
     * 获取市销率（TTM）
     *
     * @return ps_ttm - 市销率（TTM）
     */
    public Float getPsTtm() {
        return psTtm;
    }

    /**
     * 设置市销率（TTM）
     *
     * @param psTtm 市销率（TTM）
     */
    public void setPsTtm(Float psTtm) {
        this.psTtm = psTtm;
    }

    /**
     * 获取股息率 （%）
     *
     * @return dv_ratio - 股息率 （%）
     */
    public Float getDvRatio() {
        return dvRatio;
    }

    /**
     * 设置股息率 （%）
     *
     * @param dvRatio 股息率 （%）
     */
    public void setDvRatio(Float dvRatio) {
        this.dvRatio = dvRatio;
    }

    /**
     * 获取股息率（TTM）（%）
     *
     * @return dv_ttm - 股息率（TTM）（%）
     */
    public Float getDvTtm() {
        return dvTtm;
    }

    /**
     * 设置股息率（TTM）（%）
     *
     * @param dvTtm 股息率（TTM）（%）
     */
    public void setDvTtm(Float dvTtm) {
        this.dvTtm = dvTtm;
    }

    /**
     * 获取总股本 （万股）
     *
     * @return total_share - 总股本 （万股）
     */
    public Float getTotalShare() {
        return totalShare;
    }

    /**
     * 设置总股本 （万股）
     *
     * @param totalShare 总股本 （万股）
     */
    public void setTotalShare(Float totalShare) {
        this.totalShare = totalShare;
    }

    /**
     * 获取流通股本 （万股）
     *
     * @return float_share - 流通股本 （万股）
     */
    public Float getFloatShare() {
        return floatShare;
    }

    /**
     * 设置流通股本 （万股）
     *
     * @param floatShare 流通股本 （万股）
     */
    public void setFloatShare(Float floatShare) {
        this.floatShare = floatShare;
    }

    /**
     * 获取自由流通股本 （万）
     *
     * @return free_share - 自由流通股本 （万）
     */
    public Float getFreeShare() {
        return freeShare;
    }

    /**
     * 设置自由流通股本 （万）
     *
     * @param freeShare 自由流通股本 （万）
     */
    public void setFreeShare(Float freeShare) {
        this.freeShare = freeShare;
    }

    /**
     * 获取总市值 （万元）
     *
     * @return total_mv - 总市值 （万元）
     */
    public Float getTotalMv() {
        return totalMv;
    }

    /**
     * 设置总市值 （万元）
     *
     * @param totalMv 总市值 （万元）
     */
    public void setTotalMv(Float totalMv) {
        this.totalMv = totalMv;
    }

    /**
     * 获取流通市值（万元）
     *
     * @return circ_mv - 流通市值（万元）
     */
    public Float getCircMv() {
        return circMv;
    }

    /**
     * 设置流通市值（万元）
     *
     * @param circMv 流通市值（万元）
     */
    public void setCircMv(Float circMv) {
        this.circMv = circMv;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", tradeDate=").append(tradeDate);
        sb.append(", close=").append(close);
        sb.append(", turnoverRate=").append(turnoverRate);
        sb.append(", turnoverRateF=").append(turnoverRateF);
        sb.append(", volumeRatio=").append(volumeRatio);
        sb.append(", pe=").append(pe);
        sb.append(", peTtm=").append(peTtm);
        sb.append(", pb=").append(pb);
        sb.append(", ps=").append(ps);
        sb.append(", psTtm=").append(psTtm);
        sb.append(", dvRatio=").append(dvRatio);
        sb.append(", dvTtm=").append(dvTtm);
        sb.append(", totalShare=").append(totalShare);
        sb.append(", floatShare=").append(floatShare);
        sb.append(", freeShare=").append(freeShare);
        sb.append(", totalMv=").append(totalMv);
        sb.append(", circMv=").append(circMv);
        sb.append("]");
        return sb.toString();
    }
}